import router from './router'
import store from './store'
import { configure, done, start } from 'nprogress'
import 'nprogress/nprogress.css'
import { getToken } from './utils/auth' // get token from cookie
import getPageTitle from '@/utils/getPageTitle'

configure({ showSpinner: false }) // NProgress Configuration

const whiteList = ['/login'] // 白名单

router.beforeEach(async (to, from, next) => {
    // 开始进度条
    start()
    // 设置页面title
    document.title = getPageTitle(to.meta.title)
    next()
    // // 确认用户是否已登录
    // const hasToken = getToken()
    // if (hasToken) {
    //     //1.路径是登陆页 直接跳转
    //     if (to.path === '/login') {
    //         next({ path: '/' })
    //         done()
    //     } else {
    //         if (store.getters.permission && store.getters.permission.menus.length === 0) {
    //             try {
    //                 // 判断当前用户是否已拉取完user_info信息
    //                 const menus = await store.dispatch('user/getInfo')
    //                 const accessedRoutes = await store.dispatch('permission/generateRoutes', {
    //                     menus
    //                 })
    //                 // 根据权限生成可访问的路由表
    //                 router.addRoute(accessedRoutes) // 动态添加可访问路由表
    //                 next({ ...to, replace: true })
    //             } catch (err) {
    //                 console.log(err)
    //                 await store.dispatch('user/resetToken')
    //                 next(`/login?redirect=${to.path}`)
    //             }
    //         } else {
    //             next()
    //         }
    //     }
    // } else {
    //     /* 没有token */
    //     if (whiteList.indexOf(to.path) !== -1) {
    //         // 在免登录白名单，直接进入
    //         next()
    //     } else {
    //         next(`/login?redirect=${to.path}`) //重定向到登录页
    //         done()
    //     }
    // }
})
router.afterEach(() => {
    // 完成进度条
    done()
})
